package itheima01;

import java.util.Random;

/**
 * @author Xiao
 * @date 2021/7/17
 */
public class LambdaDemo03 {
    /**
     * 需求
     * 编写一个接口RandomNumHandler，在该接口中存在一个抽象方法getNumber，该方法是无参数有返回值的。
     * 在测试类RandomNumHandlerDemo中存在一个方法useRandomNumHandler，方法的参数RandomNumHandler类型的，
     * 在方法内部调用了RandomNumHandler的getNumber方法。
     */
    public static void main(String[] args) {
        Random r = new Random();
        useRandomNumHandler(new RandomNumHandler() {
            @Override
            public int getNumber() {
                int num = r.nextInt(10);
                return num;
            }
        });
        System.out.println("------------");
        /*useRandomNumHandler(() -> {
            int num = r.nextInt(10) + 10;
            return num;
        });*/
        useRandomNumHandler(() -> r.nextInt(10) + 10);
    }

    public static void useRandomNumHandler(RandomNumHandler r) {
        int num = r.getNumber();
        System.out.println(num);
    }
}

interface RandomNumHandler {
    int getNumber();
}
